package com.baizhi.controller;

import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.springframework.web.bind.annotation.*;

import java.lang.annotation.Target;

/**
 * @RestController 定义当前的类为控制器 类中所有的方法不需要
 * 加 @ResponseBody 就会议json的形式响应数据
 */
@RestController
@RequestMapping("test")
public class TestController {

    /**
     * @RequiresRoles(value = "admin") 代表具有admin的角色才能够
     * 访问这个方法 如果没有报错
     */
    @RequiresRoles(value = "superadmin")
    @RequestMapping("testRole")
    public String testRole(){
       return "正常访问";
    }

    /**
     * @RequiresPermissions("guru:delete") 代表具有 guru:delete 的权限才能够
     * 访问这个方法 如果没有报错
     * @return
     */
    @RequiresPermissions("guru:delete")
    @RequestMapping("testPermission")
    public String testPermission(){
        return "正常访问";
    }


    @RequestMapping("errorData")
    public String errorData(){
        return "后台异常 请联系管理员";
    }

}
